package modelo.DAO;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import modelo.Conexion;
import modelo.Liga;
import modelo.Umpire;

public class UmpireDAO {

	public UmpireDAO() {
		super();
	}
	
	public void actualizarJuegArbUmpires(Liga liga){
		String tiraSQL = "UPDATE umpires SET juegosarbit='"+0+"';";
		Conexion.ejecutar(tiraSQL);
	}
	
	public void regUmpire(Umpire umpire) {
		String tiraSQL = "INSERT INTO umpires VALUES ("+umpire.getCedula()+",'"+umpire.getNombre()+"','"+umpire.getApellido()+"','"+umpire.getFechaNac()+"','"+umpire.getjArbitrados()+"')";
		Conexion.ejecutar(tiraSQL);
	}
	
	public void actualizarUmpires(Liga liga){
		for (int i=0; i<liga.contarUmpires(); i++){
			Umpire umpire=liga.getUmpires().get(i);
			String tiraSQL = "UPDATE umpires SET juegosarbit='"+umpire.getjArbitrados()+"' WHERE cedula = '"+umpire.getCedula()+"';";
			Conexion.ejecutar(tiraSQL);
		}
	}
	
	public ArrayList<Umpire> consultarUmpires() {
		ArrayList<Umpire> umpires = new ArrayList<Umpire>();
		String tiraSQL = "SELECT * FROM umpires";
		ResultSet resultSet = Conexion.consultar(tiraSQL);
		try {
			while (resultSet.next()) {
				String cedula = resultSet.getString("cedula");
				String nombre = resultSet.getString("nombre");
				String apellido = resultSet.getString("apellido");
				String fechaNac = String.valueOf(resultSet.getDate("fechanac")); // PENDIENTE DE CAMBIAR LA FECHA DE DATE (QUE VIENE DEL SQL) A STRING (COMO ESTA DECLARADO EN LA CLASE EQUIPO)
				fechaNac = fechaNac.substring(8, fechaNac.length())+"-"+fechaNac.substring(5, fechaNac.length()-3)+"-"+fechaNac.substring(0, fechaNac.length()-6);
				int juegosA = resultSet.getInt("juegosarbit");
				Umpire umpire = new Umpire(cedula, nombre, apellido, fechaNac, juegosA);
				umpires.add(umpire);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return umpires;
	}
}


